238

Blockchain Technology

MasterCard and Visa cards can perform thousands of transactions per second,

whereas a bitcoin blockchain can process around ten transactions per second

(Kosba et al., 2016). So, to design an efficient and distributed blockchain system is

quite a challenging issue.

One more concern that needs to be addressed is to design an efficient algorithm

to take consensus of all nodes, ignoring the illegitimate nodes, in a permission-based

system.

The mining process involved in blockchain systems requires a lot of computation

power, so it is the need of the hour to design an effective mining process that can be

executed with the requirement for less computation power.

The blockchain system offers a lot of advantages and possesses such attractive

characteristics that everyone wants to become part of this network. This also adds to

the responsibilities of the developers. In such a scenario, when the blockchain grows

in size, efficient mechanisms need to be employed to store and verify data by each

node.

Other challenges that also affect blockchain systems are replacement of current

databases, handling interoperability issues, effectively implementing distributed

task scheduling, etc.

14.3.2  Blockchain Architecture and Protocols

Blockchain technology allows a global database to be accessed from anywhere by

anyone having an internet connection. A blockchain is not owned by any central

party like banks or government. It is nearly impossible to cheat the system when the

entire network is looking after the blockchain, thus protecting users from fake docu­

ments and fraudulent transactions.

Figure 14.1 displays the basic architecture of a blockchain system, where users

are connected with each other in a distributive manner. Various operations that

a user can perform are initiating and validating a transaction or mining process.

Information is stored permanently among the nodes in the network. A local copy of

the blockchain system is stored at each node of the network, which is periodically

updated to ensure consistency among all the nodes of the network. A blockchain is

a distributed information-sharing platform, which allows multiple nodes that do not

trust each other to take part in the decision-making process. As the system is decen­

tralized, it doesn’t suffer from the single point failure issue.

Figure 14.2 displays various types of blockchain. Presently, it can be classified as

public, private and consortium blockchain. In public blockchain, the ledger is made

public to all the users on the internet. Transactions can be added and verified to the

blockchain by anyone on the network (Xu et al., 2017). On the other hand, private

blockchain allows the addition and verification of transaction blocks only by specific

users of the organization, but anyone on the internet can view the ledger (Dinh et al.,

2017). In consortium blockchain, only specific organizations can add or verify a

transaction block.

The basic element of the structure is a block. A block comprises a group of valid

transactions. In a blockchain system, any user can start the transaction and broadcast

it to all the users present in that network. New transactions can be validated using